﻿using AiMoWindows.MainActions.ScriptActions;
using System.Windows.Input;

namespace AiMoWindows.Windows.Scripts.ViewModels
{
    class ScriptContextMenuViewModel(ActionsController owner) : ChangeLanguageViewModelBase
    {
        public string ClearScriptText => IsEnglish ? "Clear Script" : "清空代码";
        public string NewScriptWindowText => IsEnglish ? "New Script Window [Ctrl + N]" : "新开代码窗口 [Ctrl + N]";
        public string OpenScriptText => IsEnglish ? "Open Script [Ctrl + O]" : "打开代码 [Ctrl + O]";
        public string SaveScriptText => IsEnglish ? "Save Script [Ctrl + S]" : "保存代码 [Ctrl + S]";
        public string SaveAsScriptText => IsEnglish ? "Save As New [Ctrl + Shift + S]" : "另存为 [Ctrl + Shift + S]";
        public string DownloadScriptText => IsEnglish ? "Download From ShareKey [Ctrl + Shift + D]" : "用分享码下载代码 [Ctrl + Shift + D]";
        public string UploadScriptText => IsEnglish ? "Upload Script to Share [Ctrl + Shift + E]" : "上传并分享代码 [Ctrl + Shift + E]";
        public string AddLoopText => IsEnglish ? "Add Loop() Code" : "添加 Loop() 代码";
        public string AddOnLoadText => IsEnglish ? "Add OnLoad() Code" : "添加 OnLoad() 代码";
        public string ClearPrintText => IsEnglish ? "Clear Print Texts" : "清空 Print 输出";
        public string ShowAiMoFolderText => IsEnglish ? "Show AiMo Folder" : "打开AiMo文件夹";
        public string ShowPropertiesText => IsEnglish ? "Script Properties" : "代码属性";
        public ICommand ClearScriptCommmand { get; } = new RelayCommand(owner.ClearAction.ClearScript);
        public ICommand NewScriptWindowCommmand { get; } = new RelayCommand(owner.ClearAction.NewScriptWindow);
        public ICommand OpenScriptCommand { get; } = new RelayCommand(owner.OpenSaveAction.OpenScript);
        public ICommand SaveScriptCommand { get; } = new RelayCommand(owner.OpenSaveAction.SaveScript);
        public ICommand SaveAsScriptCommand { get; } = new RelayCommand(owner.OpenSaveAction.SaveAsScript);
        public ICommand DownloadScriptCommand { get; } = new RelayCommand(owner.CodeToCloudAction.DownloadScript);
        public ICommand UploadScriptCommand { get; } = new RelayCommand(owner.CodeToCloudAction.UploadScript);
        public ICommand AddLoopCommand { get; } = new RelayCommand(owner.AdditionCodeAction.AddLoop); // 部分模式支持
        public ICommand AddOnLoadCommand { get; } = new RelayCommand(owner.AdditionCodeAction.AddOnLoad); // 部分模式支持
        public ICommand ClearPrintCommand { get; } = new RelayCommand(owner.ClearDebugPrint);
        public ICommand ShowAiMoFolderCommand { get; } = new RelayCommand(owner.MainAction.ShowAiMoFolder);
        public ICommand ShowPropertiesCommand { get; } = new RelayCommand(owner.ShowProperties);

    }
}
